package com.nas.crocus.dao.impl;

import org.hibernate.SessionFactory;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import com.nas.crocus.dao.RegistroAlojamientoDao;
import com.nas.crocus.domain.RegistroAlojamiento;
import com.nas.crocus.domain.RegistroPasajero;

@Repository
public class RegistroAlojamientoDaoImp implements RegistroAlojamientoDao {
    
    @Autowired
    private SessionFactory sessionFactory;

    public void guardar(RegistroAlojamiento registroAlojamiento) {
        sessionFactory.getCurrentSession().save(registroAlojamiento);
    }

    @Override
    public void actualizar(RegistroAlojamiento registroAlojamiento) {
        sessionFactory.getCurrentSession().update(registroAlojamiento);
        
    }

    @Override
    public RegistroAlojamiento obtenerPorAlojamientoId(Long alojamientoId) {
        return (RegistroAlojamiento) sessionFactory.getCurrentSession().createCriteria(RegistroAlojamiento.class).add( Restrictions.eq("alojamientoId", alojamientoId) ).uniqueResult();
    }

    @Override
    public void eliminar(RegistroAlojamiento registroAlojamiento) {
        sessionFactory.getCurrentSession().delete(registroAlojamiento);
        
    }

    @Override
    public RegistroAlojamiento obtener(Long registroAlojamientoId) {
        return (RegistroAlojamiento) sessionFactory.getCurrentSession().createCriteria(RegistroAlojamiento.class).add( Restrictions.eq("registroAlojamientoId", registroAlojamientoId) ).uniqueResult();
    }
    
    

}
